>_
Terminal
guest@dsr: ~
guest@dsr:~$ ./welcome.sh
guest@dsr:~$ cat 2024-11-24-Raúl Caro 5823b23650a683fd97d101483114e090.md
Última modificación: 24-11-2024

Raúl Caro

Title: https://jornadas.ccn-cert.cni.es/es/xviiijornadas-programa-general/xviii-jornadas-ccn-cert/ponencia/implantes-web-conoce-a-tu-enemigo-y-defiendete

  1. Ahondar en el concepto Implante Web
  2. Conocer tipos
  3. Entender perspectiva ofensiva
  4. Proponer estrategias de defensa y como protegernos

Que son los Implantes Web

graph LR
  A[Arbitraty File Upload]
  B[Initial Access]
  C[Persistance]
  D[Privilage Esclation]
  E[Credential Acces]
  F[LAtteral Movement]
  Z[ ]
  Y[ ]
  A--> Z
  Z --> B --> Y
  Z --> C --> Y
  Y --> D
  Y --> E
  Y --> F
  

WebShell

Ejecutar comando a nivel de sistema a través de la web. Por ejemplo con PHP

Tambien con JSP , y con ASP.NET, podemos ejecutar código.

El executor es el componente utilizado para la ejecución de código.

Contramedidas generales

  • Restringir y auditar la subida de archivos

  • Configurar los permisos de directorios

  • Limitar privilegios a los usuarios de servicios web

  • Monitorizar el despliegue de archivos sospechosos

  • Migrar a nuevas tecnologías que dificultan su explotación: Frameworks modernos ya los incorporan.

  • PHP: disable_functions (php.ini)

    No son configuraciones definitivas, existen muchos más caminos.

  • JSP: definir directivas de bloqueo → en algunas aoplicaciones no son lo mejor pues no se configura correctamente. Con AppArmor si.

  • ASP.NET: definir reglas de AppLocker para bloquear la ejecución (Windows) Ej: restinge la ejecución de binarios.

La web shell no esta limitada. PHP ya tiene funciones que hacen que hagamos cosas por ejemplo leer archivos.

CONTRAMEDIDAS:

KRAKEN (php, jsp, ):

  1. Reimplementaciíon nativa de comandos

  2. Elevación de privilegios en diferentes ámbitos

    Xon kRAKEN cargamos una herramienta de explotacion que nos dará acceso a la cuenta en el contexto privilegiado sin la necesidad de la ejecucuión.-

  3. Suplantacion de contextos de seguridad

    Con los proivilegios adecuados, poremos copiar el token del proceso de una identidad privilegiada, y podremos ejecutar a su nombre.

  4. Ejecución de código no administrado: cargar funciones de la winappi u otras funcionalidades del sistema.

Para cargar los módulos de Kraken

El executor es el encargado de recibir ese codigo, interpretarlo, y darnos una respuesta:

eval ClassLoader CSharpCodeProvider

Conclusion

  • Aplicar contramedidas generales
  • Tiering Model y principio de nivel de privilegii
  • Establecer medidas de detecciopn y montirorizacio n (EDR)
  • Contenedores Docker, Distro-less envs, Hardenizacion
  • Y sobretodo Inventarios Activos

Debemos dificultar lo suficiente el camino del atacante.


<< cd ..

>_